package com.zyq.constant;

/**
 * 限流
 * @author xiaochi
 * @date 2021/12/11 22:13
 */
public interface AccessLimits {

    /**
     * 限流类型：LIMIT：限流 ,COUNT：访问次数
     */
    enum Type {
        LIMIT,COUNT;
    }

    /**
     * 限流缓存类型：内存：TYPE ,redis：REDISTYPE
     */
    public enum StoreType {
        GUAVA,REDIS;
    }

    /**
     * 类型是IP，则根据IP限制访问次数
     * 类型是METHOD，则根据IP限制访问次数
     * 类型是CUSTOMER，则根据自定义设置的key限制访问次数
     * 默认按照方法名称限制访问次数
     */
    public enum ResourceType {
        IP,METHOD,CUSTOMER;
    }
}
